Unsupervised Cluster Generation

ABSTRACT

A method that may include (a) feeding multiple tagged media units to a neural network to provide, from one or more intermediate layers of the neural network, multiple feature vectors of segments of the media units; wherein the neural network was trained to detect current objects within media units; wherein the new category differs from each one of the current categories; wherein at least one media unit comprises at least one segment that is tagged as including the new object; (b) calculating similarities between the multiple feature vectors; (c) clustering the multiple feature vectors to feature vector clusters, based on the similarities; and (d) finding, out of the feature vector clusters, a new feature vector cluster that identifies media unit segments that comprise the new object.

BACKGROUND

A neural network is trained, during a training process, to detect certain objects (also referred to as current objects—as the neural network is currently trained to detect these objects).

When the neural network is expected to detect a new object it has to be trained again. The additional training may be costly and complex and in some cases (for example when using a fixed configuration neural network) not feasible.

There is a growing need to provide a detection of a new object based on a neural network without retraining the neural network.

SUMMARY

There may be provided a method for detecting a new object, the method may include (a) feeding multiple tagged media units to a neural network to provide, from one or more intermediate layers of the neural network, multiple feature vectors of segments of the media units; wherein the neural network was trained to detect current objects within media units; wherein the new category differs from each one of the current categories; wherein at least one media unit comprises at least one segment that is tagged as including the new object; (b) calculating similarities between the multiple feature vectors; (c) clustering the multiple feature vectors to feature vector clusters, based on the similarities; and (d) finding, out of the feature vector clusters, a new feature vector cluster that identifies media unit segments that comprise the new object.

The new feature vector cluster may include members that exhibit a high similarity to feature vectors corresponding to the new category and exhibit low similarity to feature vectors that do not belong to the new category.

The one or more intermediate layers of the neural network may be a single intermediate layer.

The one or more intermediate layers of the neural network may be multiple intermediate layers.

The method may include feeding an additional media unit to the neural network; providing, from the one or more intermediate layers of the neural network, feature vectors of segments of the additional media unit; searching for a feature vector cluster that may include a feature vector of a segment of the additional media unit; and determining that a segment of the additional media unit includes the new object when at least one of the feature vectors of the segments of the additional media belongs to the new cluster.

The media unit may be an image.

There may be provided a non-transitory computer readable medium may store instructions for (a) feeding multiple media units to a neural network to provide, from one or more intermediate layers of the neural network, multiple feature vectors of segments of the media units; wherein the neural network was trained to detect current objects within media units; wherein the new category differs from each one of the current categories; wherein at least one media unit may include at least one segment that may be tagged as including the new object; (b) calculating similarities between the multiple feature vectors; (c) clustering the multiple feature vectors to feature vector clusters, based on the similarities; and (d) finding, out of the feature vector clusters, a new feature vector cluster that identifies media unit segments that comprise the new object.

The new feature vector cluster may include members that exhibit a high similarity to feature vectors corresponding to the new category and exhibit low similarity to feature vectors corresponding to any of the current categories.

The one or more intermediate layers of the neural network may be a single intermediate layer.

The one or more intermediate layers of the neural network may be multiple intermediate layers.

The non-transitory computer readable medium may store instructions for feeding an additional media unit to the neural network; providing, from the one or more intermediate layers of the neural network, feature vectors of segments of the additional media unit; searching for a feature vector cluster that may include a feature vector of a segment of the additional media unit; and determining that a segment of the additional media unit includes the new object when at least one of the feature vectors of the segments of the additional media belongs to the new cluster.

The media unit may be an image.

There may be provided a computerized system that may include a processor and one or more circuits (such as a memory unit and a communication unit) that may be configured to (a) feed multiple media units to a neural network to provide, from one or more intermediate layers of the neural network, multiple feature vectors of segments of the media units; wherein the neural network was trained to detect current objects within media units; wherein the new category differs from each one of the current categories; wherein at least one media unit may include at least one segment that may be tagged as including the new object; (b) calculate similarities between the multiple feature vectors; (c) cluster the multiple feature vectors to feature vector clusters, based on the similarities; and (d) find, out of the feature vector clusters, a new feature vector cluster that identifies media unit segments that comprise the new object.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments of the disclosure will be understood and appreciated more fully from the following detailed description, taken in conjunction with the drawings in which:

FIG. 1 illustrates an example of a method;

FIG. 2 illustrates an example of a system that includes a neural network and a processing module and various feature vectors;

FIG. 3 illustrates an example of feature vector clusters and similarity scores; and

FIG. 4 illustrates an example of an image with a new object.

DESCRIPTION OF EXAMPLE EMBODIMENTS

In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, and components have not been described in detail so as not to obscure the present invention.

The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings.

It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.

Because the illustrated embodiments of the present invention may for the most part, be implemented using electronic components and circuits known to those skilled in the art, details will not be explained in any greater extent than that considered necessary as illustrated above, for the understanding and appreciation of the underlying concepts of the present invention and in order not to obfuscate or distract from the teachings of the present invention.

Any reference in the specification to a method should be applied mutatis mutandis to a system capable of executing the method and/or to a non-transitory computer readable medium that stores instructions for executing the method.

Any reference in the specification to a system should be applied mutatis mutandis to a method that may be executed by the system, and/or may be applied mutatis mutandis to non-transitory computer readable medium that stores instructions executable by the system.

Any reference in the specification to a non-transitory computer readable medium should be applied mutatis mutandis to a system capable of executing instructions stored in the non-transitory computer readable medium and/or may be applied mutatis mutandis to a method for executing the instructions.

Any combination of any module or unit listed in any of the figures, any part of the specification and/or any claims may be provided.

The specification and/or drawings may refer to an image. An image is an example of a media unit. Any reference to an image may be applied mutatis mutandis to a media unit. A media unit may be an example of sensed information. Any reference to a media unit may be applied mutatis mutandis to a natural signal such as but not limited to signal generated by nature, signal representing human behavior, signal representing operations related to the stock market, a medical signal, and the like. Any reference to a media unit may be applied mutatis mutandis to sensed information. The sensed information may be sensed by any type of sensors—such as a visual light camera, or a sensor that may sense infrared, radar imagery, ultrasound, electro-optics, radiography, LIDAR (light detection and ranging), etc.

The specification and/or drawings may refer to a processor. The processor may be a processing circuitry. The processing circuitry may be implemented as a central processing unit (CPU), and/or one or more other integrated circuits such as application-specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), full-custom integrated circuits, etc., or a combination of such integrated circuits.

Any combination of any steps of any method illustrated in the specification and/or drawings may be provided.

Any combination of any subject matter of any of claims may be provided.

There may be provided a method, a non-transitory computer medium, and a system for detection of a new object using a neural network not trained to detect the new object.

FIG. 1 illustrates method 500 for detecting a new object. The detection may include unsupervised generation of a cluster, the cluster may be a cluster of feature vectors.

Method 500 may start by step 510 of feeding multiple tagged media units to a neural network to provide, from one or more intermediate layers of the neural network, multiple feature vectors of segments of the media units.

The one or more intermediate layers may be selected in any manner.

The neural network may include an input layer, multiple intermediate layers and an output layer. Each intermediate layer may output multiple feature vectors that include information regarding different features of a segment of the media unit.

It should be noted that different intermediate layers may output feature vectors that represents features of media units of different sizes.

For example—the output of one intermediate layer may include X1 by Y1 feature vectors—each feature vector representing (or can be mapped to) a media unit segment of a first size S1, while the output of a second intermediate layer may include X2 by Y2 feature vectors—each feature vector representing (or can be mapped to) a media unit segment of a second size S2, wherein S1 and S2 may differ from each other. Usually deeper feature vectors (feature vectors with more features) represent larger segments of the media unit.

A tagged media unit is a media unit that includes information (for example tags) regarding objects located within the different media unit segments. See, for example, image 700 of FIG. 4 that is tagged with tag 703 that indicates that a certain image segment (701(n,m)) includes a new object 702.

The neural network was trained (prior step 510) to detect current objects within media units but not trained (prior to step 510) to detect the new object. Accordingly—the new object differs from each one of the current objects. The new object may be a part of a current object, a combination of current objects or not related to the current objects.

Of the multiple media units fed to the neural network during step 510 at least one media unit) includes at least one segment that is tagged as including at least a part of the new object.

FIG. 2 illustrates an example of neural network 610 (having first layer 601(1), first till last intermediate layers 610(2)-610(N−1), and last layer 610(N) that outputs a neural network output 619), multiple media units 600 (including, for example image 601), first till last intermediate layers feature vectors 612(1)-612(N−1)). The neural network is followed by a processing module 630 that includes clustering module 631 and a matching module 640).

Referring back to FIG. 1—step 510 may be followed by step 520 of calculating similarities between the multiple feature vectors.

The similarities may be calculated in any manner—correlation, cross correlation, or non-correlation based calculations.

Step 520 may be followed by step 530 of clustering the multiple feature vectors to feature vector clusters, based on the similarities.

For example—a feature vector cluster may include a set of feature vectors that are significantly similar to each other (pairs of members of the feature vector cluster have a similarity score that is above a first threshold SIM_H) and are significantly different from feature vectors of other feature vector clusters (pairs that include a member of the feature vector cluster and a member of another feature vector cluster have a similarity score that is below a second threshold SIM_L).

Other clustering methods may be applied.

The clustering may be executed by clustering module 631 of FIG. 2.

Referring to FIG. 3—assuming that there are multiple (Q) clusters—first cluster 660(1) till the Q'th cluster 660(Q) that include K₁ till K_(Q) feature vectors respectively. For example—first cluster 660(1) includes feature vectors 661(1,1)-661(1,K₁), and Q'th cluster 660(Q) includes feature vectors 661(1,1)-661(1,K_(Q)).

Step 520 may include calculating similarities between the different pairs of feature vectors —614(1,1,1,2)-614(Q,K_(Q),Q,K_(Q)−1), whereas the first two indexes represent the first feature vector of the pair and the last two indexes represent the second feature vector of the pair—so that similarity 614(1,1,1,2) represents the similarity between feature vector (1,1) and feature vector (1,2). Similarity 614(Q,K_(Q),Q,K_(Q)−1) represents the similarity between feature vector (Q,K_(Q)) and feature vector (Q,K_(Q)−1). Step 530 the clustering is based in said similarities.

Step 530 may be followed by step 540 of searching, out of the feature vector clusters, a new feature vector cluster that identifies media unit segments that includes the new object.

The identification means that the new feature vector cluster can distinguish the new objects from other objects—and its members significantly differ (are dissimilar) from members of current feature clusters.

For example—referring to FIG. 3—a q'th feature vector cluster (q between 1 and Q) 660(q) that includes feature vectors 661(1,1)-661(1,K_(q)) may be a new feature vector cluster.

One or more segments of the multiple images are tagged as including at least a part of the new object. These one or more segments are referred to as new object segments. If one or more feature vectors of one or more new object segments belong to a certain feature vector cluster of the feature vectors cluster than that certain feature vector cluster can be used to detect the new object in any future media units. This certain feature vector cluster may be referred to as a new feature vector cluster.

Steps 510, 520 and 530 form an additional learning process and it may followed by an inference process.

Step 540 may be followed by step 550 of detecting the new object in future fed media units using the new feature vector cluster—detecting a new object when one or more feature vector belongs to the new feature vector cluster.

The detecting may be executed by matching module 640 that may search for clusters that match feature vectors of the additional media unit.

For example—assuming a feature vector related to image segment 700(m,n) belongs to new feature cluster 660(1)—then step 550 detects the presence of new object 702 in an image.

It should be noted that there may be more than a single feature vector cluster per new object.

It should also be noted that multiple different new objects may be detected (find feature vector clusters for the multiple different new objects) per iteration of method 500.

Step 550 may include:

-   -   Step 552 of feeding an additional media unit to the neural         network.     -   Step 554 of providing, from the one or more intermediate layers         of the neural network, feature vectors of segments of the         additional media unit.     -   Step 556 of searching for a feature vector cluster that         comprises a feature vector of a segment of the additional media         unit.     -   Step 558 of determining that a segment of the additional media         unit includes the new object when at least one of the feature         vectors of the segments of the additional media belongs to the         new cluster.

The processing module 630 of FIG. 2 may generate an output that indicates which objects are included in the additional media unit.

While the foregoing written description of the invention enables one of ordinary skill to make and use what is considered presently to be the best mode thereof, those of ordinary skill will understand and appreciate the existence of variations, combinations, and equivalents of the specific embodiment, method, and examples herein. The invention should therefore not be limited by the above described embodiment, method, and examples, but by all embodiments and methods within the scope and spirit of the invention as claimed.

In the foregoing specification, the invention has been described with reference to specific examples of embodiments of the invention. It will, however, be evident that various modifications and changes may be made therein without departing from the broader spirit and scope of the invention as set forth in the appended claims.

Moreover, the terms “front,” “back,” “top,” “bottom,” “over,” “under” and the like in the description and in the claims, if any, are used for descriptive purposes and not necessarily for describing permanent relative positions. It is understood that the terms so used are interchangeable under appropriate circumstances such that the embodiments of the invention described herein are, for example, capable of operation in other orientations than those illustrated or otherwise described herein.

Furthermore, the terms “assert” or “set” and “negate” (or “deassert” or “clear”) are used herein when referring to the rendering of a signal, status bit, or similar apparatus into its logically true or logically false state, respectively. If the logically true state is a logic level one, the logically false state is a logic level zero. And if the logically true state is a logic level zero, the logically false state is a logic level one.

Those skilled in the art will recognize that the boundaries between logic blocks are merely illustrative and that alternative embodiments may merge logic blocks or circuit elements or impose an alternate decomposition of functionality upon various logic blocks or circuit elements. Thus, it is to be understood that the architectures depicted herein are merely exemplary, and that in fact many other architectures may be implemented which achieve the same functionality.

Any arrangement of components to achieve the same functionality is effectively “associated” such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality may be seen as “associated with” each other such that the desired functionality is achieved, irrespective of architectures or intermedial components. Likewise, any two components so associated can also be viewed as being “operably connected,” or “operably coupled,” to each other to achieve the desired functionality.

Furthermore, those skilled in the art will recognize that boundaries between the above described operations merely illustrative. The multiple operations may be combined into a single operation, a single operation may be distributed in additional operations and operations may be executed at least partially overlapping in time. Moreover, alternative embodiments may include multiple instances of a particular operation, and the order of operations may be altered in various other embodiments.

Also for example, in one embodiment, the illustrated examples may be implemented as circuitry located on a single integrated circuit or within a same device. Alternatively, the examples may be implemented as any number of separate integrated circuits or separate devices interconnected with each other in a suitable manner.

However, other modifications, variations and alternatives are also possible. The specifications and drawings are, accordingly, to be regarded in an illustrative rather than in a restrictive sense.

In the claims, any reference signs placed between parentheses shall not be construed as limiting the claim. The word ‘comprising’ does not exclude the presence of other elements or steps then those listed in a claim. Furthermore, the terms “a” or “an,” as used herein, are defined as one or more than one. Also, the use of introductory phrases such as “at least one” and “one or more” in the claims should not be construed to imply that the introduction of another claim element by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim element to inventions containing only one such element, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an.” The same holds true for the use of definite articles. Unless stated otherwise, terms such as “first” and “second” are used to arbitrarily distinguish between the elements such terms describe. Thus, these terms are not necessarily intended to indicate temporal or other prioritization of such elements. The mere fact that certain measures are recited in mutually different claims does not indicate that a combination of these measures cannot be used to advantage.

While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those of ordinary skill in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.

It is appreciated that various features of the embodiments of the disclosure which are, for clarity, described in the contexts of separate embodiments may also be provided in combination in a single embodiment. Conversely, various features of the embodiments of the disclosure which are, for brevity, described in the context of a single embodiment may also be provided separately or in any suitable sub-combination.

It will be appreciated by persons skilled in the art that the embodiments of the disclosure are not limited by what has been particularly shown and described hereinabove. Rather the scope of the embodiments of the disclosure is defined by the appended claims and equivalents thereof 

What is claimed is:
 1. A method for detecting a new object, the method comprises: (a) feeding multiple tagged media units to a neural network to provide, from one or more intermediate layers of the neural network, multiple feature vectors of segments of the media units; wherein the neural network was trained to detect current objects within media units; wherein the new category differs from each one of the current categories; wherein at least one media unit comprises at least one segment that is tagged as including the new object; (b) calculating similarities between the multiple feature vectors; (c) clustering the multiple feature vectors to feature vector clusters, based on the similarities; and (d) finding, out of the feature vector clusters, a new feature vector cluster that identifies media unit segments that comprise the new object.
 2. The method according to claim 1 wherein the new feature vector cluster comprises members that exhibit a high similarity to feature vectors corresponding to the new category and exhibit low similarity to feature vectors that do not belong to the new category.
 3. The method according to claim 1 wherein the one or more intermediate layers of the neural network are a single intermediate layer.
 4. The method according to claim 1 wherein the one or more intermediate layers of the neural network are multiple intermediate layers.
 5. The method according to claim 1 comprising: feeding an additional media unit to the neural network; providing, from the one or more intermediate layers of the neural network, feature vectors of segments of the additional media unit; searching for a feature vector cluster that comprises a feature vector of a segment of the additional media unit; and determining that a segment of the additional media unit includes the new object when at least one of the feature vectors of the segments of the additional media belongs to the new cluster.
 6. The method according to claim 1 wherein the media unit is an image.
 7. A non-transitory computer readable medium that stores instructions for: (a) feeding multiple media units to a neural network to provide, from one or more intermediate layers of the neural network, multiple feature vectors of segments of the media units; wherein the neural network was trained to detect current objects within media units; wherein the new category differs from each one of the current categories; wherein at least one media unit comprises at least one segment that is tagged as including the new object; (b) calculating similarities between the multiple feature vectors; (c) clustering the multiple feature vectors to feature vector clusters, based on the similarities; and (d) finding, out of the feature vector clusters, a new feature vector cluster that identifies media unit segments that comprise the new object.
 8. The non-transitory computer readable medium according to claim 7 wherein the new feature vector cluster comprises members that exhibit a high similarity to feature vectors corresponding to the new category and exhibit low similarity to feature vectors corresponding to any of the current categories.
 9. The non-transitory computer readable medium according to claim 7 wherein the one or more intermediate layers of the neural network are a single intermediate layer.
 10. The non-transitory computer readable medium according to claim 7 wherein the one or more intermediate layers of the neural network are multiple intermediate layers.
 11. The non-transitory computer readable medium according to claim 7 that stores instructions for: feeding an additional media unit to the neural network; providing, from the one or more intermediate layers of the neural network, feature vectors of segments of the additional media unit; searching for a feature vector cluster that comprises a feature vector of a segment of the additional media unit; and determining that a segment of the additional media unit includes the new object when at least one of the feature vectors of the segments of the additional media belongs to the new cluster.
 12. The non-transitory computer readable medium according to claim 7 wherein the media unit is an image. 